تبدیل عکس RGB به GRAY-SCALE
همونطور که قبلا گفتم عکس RGB از سه ماتریس M*N تشکلیل شده که برای دسترسی بهشون می نویسیم:
R=O(:,:,1)
G=O(:,:,2)
B=O(:,:,3)
K
هر
کدام از این ماتریس ها به صورت جدا که نشان داده شوند GRAY-SCALE خواهند
بود برای بهتر شدن کار می توان از درایه های ماتریس ها میانگین گرفت:
برای این برنامه داریم:
o=imread('eye.jpg');
imshow(o);
r=o(:,:,1);
g=o(:,:,2);
b=o(:,:,3);
for i=(1:600)
for j=(1:600)
s(i,j)=(r(i,j)+g(i,j)+b(i,j))/3;
end
end
imshow(s);
k
imshow(o);
r=o(:,:,1);
g=o(:,:,2);
b=o(:,:,3);
for i=(1:600)
for j=(1:600)
s(i,j)=(r(i,j)+g(i,j)+b(i,j))/3;
end
end
imshow(s);
k
خوب به غیر از روش بالا می توان از دستور RGB2GRAY متلب هم برای این کار استفاده کرد چون متلب مولفه های دیگر رو هم مد نظر میگیره کیفیت بسیار بهتری از کار ما خواهد داشت پس فقط کافیه عکس رو بخونید و بعد دستور زیر رو بنویسید:
k=rgb2gray(o);
نظرات شما عزیزان:
+ نوشته شده در 11 بهمن 1396 ساعت 22:0 توسط سجاد
| تعداد بازديد : 106